/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package praticav.model;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;

@Entity
@Table(name="producao")

@SequenceGenerator(name = "seq_producao",  
                   sequenceName = "seq_producao",  
                   allocationSize = 1)
        

public class Producao implements Serializable {
    @GeneratedValue(strategy = GenerationType.SEQUENCE,  
             generator = "seq_producao")
    
    @Id private int procodigo;
    private int proano;
    private int proquantidade;
    
    @OneToOne // uma produção pode ter um tipo de uva
    @JoinColumn(name  = "uvacodigo")
    private TipoUva TipoUva;


    @Temporal(javax.persistence.TemporalType.DATE)
    private Date prodtainicio;
    @Temporal(javax.persistence.TemporalType.DATE) 
    private Date prodtafim;    
    
    private int prosequencia;
    
    public int getProano() {
        return proano;
    }

    public void setProano(int proano) {
        this.proano = proano;
    }

    public int getProcodigo() {
        return procodigo;
    }

    public void setProcodigo(int procodigo) {
        this.procodigo = procodigo;
    }

    public int getProquantidade() {
        return proquantidade;
    }

    public void setProquantidade(int proquantidade) {
        this.proquantidade = proquantidade;
    }

    public TipoUva getTipouva() {
        return TipoUva;
    }

    public void setTipouva(TipoUva tipouva) {
        this.TipoUva = tipouva;
    }

    public praticav.model.TipoUva getTipoUva() {
        return TipoUva;
    }

    public void setTipoUva(praticav.model.TipoUva TipoUva) {
        this.TipoUva = TipoUva;
    }

    public Date getProdtafim() {
        return prodtafim;
    }

    public void setProdtafim(Date prodtafim) {
        this.prodtafim = prodtafim;
    }

    public Date getProdtainicio() {
        return prodtainicio;
    }

    public void setProdtainicio(Date prodtainicio) {
        this.prodtainicio = prodtainicio;
    }

    public int getProsequencia() {
        return prosequencia;
    }

    public void setProsequencia(int prosequencia) {
        this.prosequencia = prosequencia;
    }
    

    public String toString(){ // Texto que vai aparecer na combobox
        return (""+this.proano + " - " + this.TipoUva.getUvadescricao());
    }    

}
